home *** CD-ROM | disk | FTP | other *** search
/ IRIX Patches 1995 March / SGI IRIX Patches 1995 Mar.iso / relnotes / patchSG0000226 / ch1.z / ch1
Text File  |  1995-03-10  |  26KB  |  661 lines

  1.  
  2.  
  3.  
  4.                                   - 1 -
  5.  
  6.  
  7.  
  8.        1.  _R_e_l_e_a_s_e__N_o_t_e_s__f_o_r__I_R_I_X__5_._2__p_a_t_c_h__S_G_0_0_0_0_2_2_6
  9.  
  10.        This release note describes patch SG0000226 to IRIX 5.2.  It
  11.        contains the following information:
  12.  
  13.           +o Hardware platforms supported
  14.  
  15.           +o List of the bugs which are fixed by this patch
  16.  
  17.           +o Compatability considerations
  18.  
  19.           +o List of subsystems included in this patch
  20.  
  21.           +o Installation instructions
  22.  
  23.        1.1  _H_a_r_d_w_a_r_e__p_l_a_t_f_o_r_m_s__s_u_p_p_o_r_t_e_d
  24.  
  25.        This patch to IRIX 5.2 supports the following machine types:
  26.  
  27.           +o Challenge and Onyx with R4400 processors
  28.  
  29.           +o Crimson (4D/510)
  30.  
  31.           +o PowerSeries (4D/120, 4D/2xx, 4D/3xx and 4D/4xx)
  32.  
  33.        It will not install on any other type of machine.
  34.  
  35.        1.2  _B_u_g_s__f_i_x_e_d__b_y__p_a_t_c_h__S_G_0_0_0_0_2_2_6
  36.  
  37.        This patch contains fixes for the following problems which
  38.        exist in IRIX 5.2 (bug numbers from SGI bug tracking system
  39.        are included for reference):
  40.  
  41.           +o The NFS server implementation in Irix did not return
  42.             any value in the microseconds field for the modify time
  43.             on the return from a getattr call.  (rfe #251693)
  44.  
  45.           +o When writing to a full file partition across NFS when
  46.             using the O_SYNC flag on a 5.2 client, once a ENOSPC
  47.             error is returned, further writes while the file is
  48.             open would fail, even if space is available to write on
  49.             the remote file system.  (bug #251853).
  50.  
  51.           +o Multiprocessor systems acting as NFS servers can crash
  52.             if multiple operations attempt to update the list of
  53.             exported NFS filesystems simultaneously (bug 141828).
  54.  
  55.           +o When dbx is started on a user VME driver which maps in
  56.             VME bus memory via the mmap() system call, attempting
  57.             to print the contents of that memory using dbx crashes
  58.             the machine.
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.                                   - 2 -
  71.  
  72.  
  73.  
  74.             This was true for the Challenge/Onyx machines as well
  75.             as the older 4D series machines.
  76.  
  77.             This bug is fixed in this patch release. It is now
  78.             possible for a user VME process to be run under dbx and
  79.             view the variables in VME memory using dbx primitives
  80.             like print. This allows users to examine the variables
  81.             as bytes, half-words, or words depending on the type of
  82.             VME memory.
  83.  
  84.             Trying to print a structure whose size is greater than
  85.             the maximum access size supported by the VME board (in
  86.             the case of D16 it could be 2 bytes, for D32 it could
  87.             be 4 bytes, etc) still does NOT work.  This is
  88.             primarily due to VME bus access being size sensitive. A
  89.             D16 board may only respond to 2 byte size access.
  90.             Trying any other size access could cause problems for
  91.             the board. As a result, when a user tries to print a
  92.             structure, the kernel does not know what size operation
  93.             is right for the VME address space in question. If the
  94.             size is more than 8 bytes, it returns an error.  (bug
  95.             189318).
  96.  
  97.           +o Lost clock interrupts on Power Series machines cause
  98.             time to drift under a heavy system load. This patch
  99.             provides a temporary workaround to the problem on
  100.             machines equipped with an IO3 board. Machines which do
  101.             not have an IO3 board installed will be uneffected by
  102.             this patch (bug 192233).
  103.  
  104.           +o The _d_f(1) command can return a negative number as the
  105.             count of blocks used on the /_p_r_o_c file system under
  106.             some conditions (bug 193935).
  107.  
  108.           +o The IO4 serial driver (only applicable on Challenge and
  109.             Onyx) has been modified for enhanced serial performance
  110.             at sustained high baudrate. The interrupt priority of
  111.             the duarts has been increased to prevent long interrupt
  112.             masking under heavy loads from causing the duart
  113.             hardware to drop incoming characters. As a side effect,
  114.             it is now possible to program the duarts to interrupt
  115.             less frequently, reducing the cost in cpu usage of
  116.             heavy serial traffic. Users should see better
  117.             performance at a lower cost.
  118.  
  119.             Users are advised, however, that since the duart now
  120.             interrupts at a very high priority, it is now possible
  121.             to bring the entire machine to a halt by flooding it
  122.             with serial traffic on a large number of ports at
  123.             maximum baudrate. The machine may reach a state where
  124.             it spends 100% of its time handling serial interrupts.
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.                                   - 3 -
  137.  
  138.  
  139.  
  140.             Note that only the master cpu is actually tied up in
  141.             this fashion, but other cpus may also be tied up
  142.             waiting for the master cpu to release a needed
  143.             resource.
  144.  
  145.             The high bandwidth capability and decreased cost are
  146.             nullified if the _d_u_a_r_t__r_s_r_v__d_u_r_a_t_i_o_n timeout variable
  147.             is configured to 0 at kernel build time, or if this
  148.             value is reset at runtime with the SIOC_ITIMER _i_o_c_t_l
  149.             command (see _s_e_r_i_a_l(7)). A 0 value in this case
  150.             indicates that the user wishes the smallest possible
  151.             latency receiving characters, and all of the tricks to
  152.             improve high baudrade performance entail some latency,
  153.             so they cannot be used in this case. The user can
  154.             expect a significant performance penalty when setting
  155.             this timeout to 0.  (bug 200377)
  156.  
  157.           +o There is a bug in the gang scheduler that prevents
  158.             priority from being observed between gangs on the same
  159.             queue.  Additionally, the batch gang queue can
  160.             improperly run gangs even though the gang queue has
  161.             valid work in it.  (bug 200394).
  162.  
  163.           +o There is a bug in the code that keeps track of the IP
  164.             multicast addresses that a host is accepting.  Systems
  165.             which use IP multicasting occasionally have some
  166.             multicast addresses deleted when they are still in use
  167.             or continue to listen for multicast addresses that are
  168.             no longer in use (bug 201283).
  169.  
  170.           +o Multiprocessor Challenge and Onyx machines running IRIX
  171.             5.2 can hang as a result of a software deadlock (bug
  172.             204252).
  173.  
  174.           +o The IRIX Extent File System code in 5.2 has the
  175.             property that files which are open and have been
  176.             extended since the last time they were closed are
  177.             likely to be lost when the system crashes for any
  178.             reason.  Changes have been made to the file system code
  179.             in the kernel and to the file system check utility
  180.             (_f_s_c_k) to reduce significantly the amount of data that
  181.             is lost when the system crashes or loses power with
  182.             extended application files still open.  Note that there
  183.             is still no guarantee that all writes done by
  184.             applications will be preserved across a system crash.
  185.             The file system buffers writes and commits the data to
  186.             disk asynchronously by design (bug 204253).
  187.  
  188.           +o Extending a file by writing to it on an NFS mounted
  189.             file system was slower than it should have been because
  190.             of incorrect interactions between the NFS server code
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.                                   - 4 -
  203.  
  204.  
  205.  
  206.             and the file system on the server side (bug 204732).
  207.  
  208.           +o MP protection was added around automounter updates to
  209.             /etc/mtab.
  210.  
  211.           +o The automounter no longer attempts to mount over an
  212.             already mounted (root) child filesystem. The child
  213.             filesystem will be the root, if the client is unable to
  214.             mount the parent filesystem, due to permissions,
  215.             timeouts, etc.  (bug 172695).
  216.  
  217.           +o There is a race condition in the communication between
  218.             the kernel and the local lock manager that can cause
  219.             NFS to hang (bug 205438).
  220.  
  221.           +o There is a race condition in NFS client handle
  222.             allocation that can cause NFS to hang under heavy loads
  223.             on the client (bug 205453).
  224.  
  225.           +o Programs which request extremely large reads or writes
  226.             (> 100Kb) on character or block devices can make very
  227.             slow progress and degrade the performance of the system
  228.             (bug 205422).
  229.  
  230.           +o The profiling clock was running continuously on all
  231.             processors, even when no profiling was in progress.
  232.             This bug affects Challenge and Onyx only (bug 206673).
  233.  
  234.           +o Under certain loads, the system occasionally appears to
  235.             be idle for periods up to 90 seconds, even when there
  236.             are active jobs that should be running.  This bug
  237.             affects Challenge and Onyx only (bugs 193082 and
  238.             207844).
  239.  
  240.           +o Internet port numbers that can be automatically
  241.             assigned were limited to 5000. This has been increased
  242.             to 65535.
  243.  
  244.           +o Several software deadlocks that can cause the system to
  245.             hang have been fixed (bug 208087).
  246.  
  247.           +o The normal diagnostics run at system powerup leave some
  248.             error bits set in the hardware that were not being
  249.             completely cleared by the operating system at boot
  250.             time.  This residual error state causes other hardware
  251.             errors to be misdiagnosed.  The kernel boot code now
  252.             clears these error bits.  This bug affects Challenge
  253.             and Onyx only (bug 209406).
  254.  
  255.           +o There is an error in the system audit trail mechanism
  256.             that can cause the system to crash when handling
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.                                   - 5 -
  269.  
  270.  
  271.  
  272.             pathnames of certain formats (bug 212708).
  273.  
  274.           +o There is an error in the gang scheduler that can, under
  275.             certain circumstances, cause a gang to starve if it has
  276.             a large number of processes associated with it (bug
  277.             214170).
  278.  
  279.           +o Multiprocessing EVEREST systems failed to start all
  280.             processors for different software configurations. This
  281.             problem was most notable with a kernel linked for
  282.             debugging, and no symmon available at boot time.
  283.             Usually only the master CPU would boot, with all slaves
  284.             failing to start. The problem has also been seen on
  285.             non-debug versions of the kernel. The problem was
  286.             caused by a race condition between the master CPU and
  287.             the slaves during the early boot process. The
  288.             appropriate synchronization is implemented in this
  289.             patch (bug 214364).
  290.  
  291.           +o Using a regular file in a file system as a
  292.             supplementary swap area can cause the system to crash
  293.             during heavy swapping (bug 214374).
  294.  
  295.           +o The combination of heavy outbound network traffic using
  296.             large buffers (as is done by doing ftp puts, for
  297.             example) and heavy page aging by the virtual memory
  298.             system when free memory is low can cause a
  299.             multiprocessor system to hang in the page flipping code
  300.             (bug 216587).
  301.  
  302.           +o The disk quotas facility did not work in the previous
  303.             IRIX 5.2 patches SG0000001 and SG0000022.  This has
  304.             been fixed in this patch release.
  305.  
  306.           +o There is a performance problem related to the creation
  307.             of sproc children that have local mappings that results
  308.             in excessive rfault rates for the child.  This occurs
  309.             when the parent has the local mapping already in its
  310.             address space when sproc is called (bug 222221).
  311.  
  312.           +o A particular POSIX conformance bug that caused the
  313.             updating of file access time for a read on a file on a
  314.             read only file system has been fixed.  (bug 223286).
  315.  
  316.           +o Another POSIX conformance bug whereby a fcntl to dup a
  317.             file descriptior a number of times so as to exceed the
  318.             user's allowable number of open file descriptors
  319.             returned error EMFILE has been changed to return
  320.             EINVAL.  (bug 223492).
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.                                   - 6 -
  335.  
  336.  
  337.  
  338.           +o Still another POSIX conformance bug that has been
  339.             closed in this patch is the fact that if a process
  340.             which handles SIGCONT is sleeping inside a system call
  341.             at an interruptible priority, the sending of a job
  342.             control stop signal will interrupt the system call,
  343.             returning -1 and setting errno to EINTR.  (bug 223509).
  344.  
  345.           +o Sproc processes that exec may carry with them wrong
  346.             pages from parent; potentially causes the execed
  347.             process to hang (bug 227235).
  348.  
  349.           +o Data base systems using asynchronous I/O could corrupt
  350.             data. However, only SYBASE version 10 is known to
  351.             trigger this problem (bug 229896).
  352.  
  353.           +o Support for 4MB secondary cache systems in both IRIX
  354.             and IO4 prom.
  355.  
  356.           +o The IO4 prom image also incorporates new segment loader
  357.             software, and multiple versions of the IO4 software for
  358.             different architectures. In particular, this version of
  359.             the IO4 prom supports both IP19 and IP21 CPU boards.
  360.             Some Scsi initialization and time out values were
  361.             changed to recover from the system attempting to boot
  362.             from a disk that is not "ready" yet.
  363.  
  364.           +o The IO4prom did not allow booting from a SCSI disk that
  365.             was above address 7 on the SCSI bus (bug 240879).
  366.  
  367.           +o A new feature was introduced in patchSG0000022 for
  368.             EVEREST systems only (Challenge and Onyx with R4400
  369.             processors).  For a certain class of memory errors,
  370.             recovery is possible in software because the data lost
  371.             is no longer required.  This feature was disabled by
  372.             default, but is now enabled in patchSG0000226.  For
  373.             example, errors which occur when zeroing a new page for
  374.             a task may be safely ignored, since the previous data
  375.             on the page is no longer needed.
  376.  
  377.             The kernel variable "ecc_recover_enable" enables and
  378.             disables this recovery feature.  A value of 0 indicates
  379.             that recovery should not be attempted.  A non-zero
  380.             value represents the number of seconds over which 32
  381.             error recovery attempts can be made.  In general, a
  382.             value of 60 should be used to enable this feature.
  383.             This is the value that is now enabled by default.
  384.  
  385.           +o A bug that occured as part of patch 33 where on EVEREST
  386.             machines the NOINTR directive could be ignored, causing
  387.             problems with real time latency has been corrected.
  388.             (bug 235061)
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.                                   - 7 -
  401.  
  402.  
  403.  
  404.           +o Power Series and Crimson systems with dual VME buses
  405.             did not support user mode access (/dev/vme) properly.
  406.             A16 mode on the second bus did not work, and A32 did
  407.             not work on either bus.  These problems are corrected.
  408.  
  409.           +o VME write error handling for Challenge/Onyx systems was
  410.             not taking care of corner cases where a VME write error
  411.             followed by a VME read error would cause the systems to
  412.             crash in certain situations (bug 231142).
  413.  
  414.           +o Fixed the problem where stressing a Power series system
  415.             with multiple ethernets (et0, and enp0) would cause the
  416.             network subsystem to hang. This was also causing SCSI
  417.             subsystem to hang (bug 188296).
  418.  
  419.           +o System calls stat() or xstat() on a tty file can hang
  420.             in kernel mode, leaving the process unkillable (bug
  421.             230375).
  422.  
  423.           +o Multiprocessor systems with R4000 cpus or R4400 cpus at
  424.             revision level 2.2 or less and which use loadable
  425.             drivers can crash due to a kernel segmentation
  426.             violation.  Such systems with loadable drivers can
  427.             panic with the cause being an RMISS and the bad_addr
  428.             not matching the faulting pc. The workaround installed
  429.             in the kernel detects this particular path when it is
  430.             caused by an R4000 bug and allows the operation to be
  431.             retried, which is needed to correct the problem (Bug
  432.             #236338).
  433.  
  434.           +o Changes were put into the kernel which allow the kernel
  435.             stack to be increased by an additional page for real-
  436.             time processes and otherwise on an as-needed basis.
  437.             This increases the reliability of the system by
  438.             eliminating scenarios in which the kernel stack might
  439.             overflow and panic the system, which occasionally arose
  440.             in systems making heavy use of remote file systems, for
  441.             example (Bug #240710).
  442.  
  443.           +o Fixed a problem where a binary compiled on IRIX 4.0.5
  444.             that uses libc function getcwd() will fail on an IRIX
  445.             5.2 machine that has a raid filesystem when the binary
  446.             is run on the raid filesystem (bug 234992).
  447.  
  448.           +o Under certain circumstances, mail could experience a
  449.             deadlock in accessing its lock file in an nfs-mounted
  450.             mail directory.  This fix makes it possible for users
  451.             to have nfs-mounted mail directories (bug 228720).
  452.  
  453.           +o Writing to a named pipe over nfs could cause a system
  454.             panic.  This problem could occur running previous Irix
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.                                   - 8 -
  467.  
  468.  
  469.  
  470.             5.2 patches patchSG0000022, patchSG0000030,
  471.             patchSG0000033 or patchSG0000047, all of which are
  472.             replaced by patchSG0000226.
  473.  
  474.           +o The fuser command could cause a system panic when used
  475.             on a machine with heavy socket creation/deletion
  476.             activity (bug 209242).
  477.  
  478.           +o Irix 5.2 patchSG0000047 introduced a problem whereby an
  479.             EFast ethernet board would not be seen on the VME bus
  480.             of a PowerSeries (4D/120, 4D/2xx, 4D/3xx and 4D/4xx).
  481.             That problem is fixed in patchSG0000226, which replaces
  482.             patchSG0000047.
  483.  
  484.        1.3  _C_o_m_p_a_t_a_b_i_l_i_t_y__c_o_n_s_i_d_e_r_a_t_i_o_n_s
  485.  
  486.        This patch includes slight content changes to the following
  487.        system header files as a part of the fix to prevent any
  488.        possible kernel stack overlow:
  489.  
  490.           +o "/usr/include/sys/param.h"
  491.  
  492.           +o "/usr/include/sys/proc.h"
  493.        These changes were made in a way to minimize compatibility
  494.        concerns, but it is still possible that software sensitive
  495.        to the exact kernel proc struct may need to be rebuilt.
  496.  
  497.        For this reason, sites using CASEVision(m/ClearCase must
  498.        rebuild the MFS (MVFS for ClearCase 2.0 users) after
  499.        installing patchSG0000226.  As the root user, execute the
  500.        following instructions and then reboot.  The CPUBOARD value
  501.        IPxx may be determined from the _h_i_n_v(1M) command.
  502.  
  503.        If you are running ClearCase 1.1.4:
  504.  
  505.        %%%% ssssuuuu
  506.        #### sssseeeetttteeeennnnvvvv CCCCPPPPUUUUBBBBOOOOAAAARRRRDDDD IIIIPPPPxxxxxxxx
  507.        #### ccccdddd ////vvvvaaaarrrr////ssssyyyyssssggggeeeennnn////bbbbooooooootttt
  508.        #### mmmmaaaakkkkeeee ----ffff ////vvvvaaaarrrr////ssssyyyyssssggggeeeennnn////MMMMaaaakkkkeeeeffffiiiilllleeee....kkkkeeeerrrrnnnniiiioooo mmmmffffssss____ppppaaaarrrraaaammmm....oooo
  509.        #### mmmmvvvv mmmmffffssss....oooo mmmmffffssss....oooo....oooolllldddd
  510.        #### lllldddd ----oooo mmmmffffssss....oooo ----rrrr pppprrrreeeemmmmffffssss....oooo mmmmffffssss____ppppaaaarrrraaaammmm....oooo
  511.        #### ////eeeettttcccc////aaaauuuuttttooooccccoooonnnnffffiiiigggg ----ffff
  512.  
  513.        If you are running ClearCase 2.0:
  514.  
  515.        %%%% ssssuuuu
  516.        #### sssseeeetttteeeennnnvvvv CCCCPPPPUUUUBBBBOOOOAAAARRRRDDDD IIIIPPPPxxxxxxxx
  517.        #### ccccdddd ////vvvvaaaarrrr////ssssyyyyssssggggeeeennnn////bbbbooooooootttt
  518.        #### mmmmaaaakkkkeeee ----ffff ////vvvvaaaarrrr////ssssyyyyssssggggeeeennnn////MMMMaaaakkkkeeeeffffiiiilllleeee....kkkkeeeerrrrnnnniiiioooo mmmmvvvvffffssss____ppppaaaarrrraaaammmm....oooo
  519.        #### mmmmvvvv mmmmvvvvffffssss....oooo mmmmvvvvffffssss....oooo....oooolllldddd
  520.        #### lllldddd ----oooo mmmmvvvvffffssss....oooo ----rrrr pppprrrreeeemmmmvvvvffffssss....oooo mmmmvvvvffffssss____ppppaaaarrrraaaammmm....oooo
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.                                   - 9 -
  533.  
  534.  
  535.  
  536.        #### ////eeeettttcccc////aaaauuuuttttooooccccoooonnnnffffiiiigggg ----ffff
  537.  
  538.        Note:  If you remove patch 226 you need to perform these
  539.               same steps.
  540.  
  541.        1.4  _S_u_b_s_y_s_t_e_m_s__i_n_c_l_u_d_e_d__i_n__p_a_t_c_h__S_G_0_0_0_0_2_2_6
  542.  
  543.        This patch includes changes to the following IRIX 5.2
  544.        products:  _c_o_m_p_i_l_e_r__d_e_v, _e_o_e_1, _e_o_e_2, _n_f_s and _d_e_v.  The
  545.        patchSG0000226 image contains the following subsystems:
  546.  
  547.           +o patchSG0000226.compiler_dev_sw.dbx
  548.  
  549.           +o patchSG0000226.dev_hdr.lib
  550.  
  551.           +o patchSG0000226.eoe1_sw.quotas
  552.  
  553.           +o patchSG0000226.eoe1_sw.unix
  554.  
  555.           +o patchSG0000226.eoe2_sw.audit
  556.  
  557.           +o patchSG0000226.eoe2_sw.kdebug
  558.  
  559.           +o patchSG0000226.eoe2_sw.perf
  560.  
  561.           +o patchSG0000226.nfs_sw.nfs
  562.  
  563.        1.5  _I_n_s_t_a_l_l_a_t_i_o_n__i_n_s_t_r_u_c_t_i_o_n_s
  564.  
  565.        This patch is only installable on systems running IRIX 5.2.
  566.        This patch requires installation in miniroot mode.  To
  567.        perform the installation, take the system down and follow
  568.        the normal procedures for starting up the installation tool
  569.        from the supplied release media.  It is recommended that you
  570.        select all the patch subsystems that correspond to software
  571.        already installed on the system.
  572.  
  573.        This patch will install on systems running IRIX 5.2, or on
  574.        Challenge or Onyx systems with the 5.2-200MHz release
  575.        installed to support IP19 200MHz CPU boards.  In the case of
  576.        installing on the 5.2-200MHz release, inst will note an
  577.        apparent version mismatch for the subsystem
  578.        patchSG0000226.eoe1_sw.unix, as noted by:
  579.  
  580.        kkkk NNNN ppppaaaattttcccchhhhSSSSGGGG0000000000000000222222226666....eeeeooooeeee1111____sssswwww....uuuunnnniiiixxxx @@@@ 0000  11114444666666665555++++ IIIIRRRRIIIIXXXX EEEExxxxeeeeccccuuuuttttiiiioooonnnn EEEEnnnnvvvviiiirrrroooonnnnmmmmeeeennnntttt
  581.  
  582.        For correct installation of patchSG0000226, it is necessary
  583.        to issue the following inst command:
  584.  
  585.        sssseeeetttt nnnneeeewwwweeeerrrroooovvvveeeerrrrrrrriiiiddddeeee oooonnnn
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.                                   - 10 -
  599.  
  600.  
  601.  
  602.        in order to force inst to install
  603.        patchSG0000226.eoe1_sw.unix.
  604.  
  605.        One way in which software patches differ from full releases
  606.        and maintenance releases is that patches are reversible:
  607.        you can remove the patch and restore the installed software
  608.        to its state before the patch was applied.  This is done by
  609.        using the _v_e_r_s_i_o_n_s command as superuser:
  610.  
  611.        vvvveeeerrrrssssiiiioooonnnnssss rrrreeeemmmmoooovvvveeee ppppaaaattttcccchhhhSSSSGGGG0000000000000000222222226666
  612.  
  613.        Since this patch replaces some kernel object files, it is
  614.        necessary to rebuild the kernel image and reboot after
  615.        removing the patch:
  616.  
  617.        aaaauuuuttttooooccccoooonnnnffffiiiigggg
  618.        rrrreeeebbbbooooooootttt
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.